home *** CD-ROM | disk | FTP | other *** search
Wrap
Text File | 1987-06-13 | 8.7 KB | 220 lines | [ TEXT/MACA]
00000 REM _________________ ZBasic™ Multiple EDIT FIELD Demo ____________ 00001 REM Configuration: Convert to Uppercase, Spaces Required 00002 REM Locate X,Y (Vertical, Horizontal) 00003 REM Default Variable: Integer 00004 REM Double Precision (#) = 12 00005 REM Single " (!) = 6 00006 REM Array Base = 0 00007 REM Rounding Number = 49 00008 REM Maximum Files Open = 2 00009 REM _______________________________________________________________ 00010 REM 00011 REM by Jim Chaffin 00012 REM 00013 REM Portions of this program are copyrighted by ZEDCOR, Inc. 00018 REM 00019 REM _______________________________________________________________ 00020 COORDINATE WINDOW 00022 IF PEEK(&28E) AND 128 THEN NewROMS = 0 ELSE NewROMS = TRUE 00023 WINDOW 1,"",(1,1)-(2,2),5: REM This will definitly close the default 00024 WINDOW CLOSE 1: REM window every time. 00050 DIM 30 Edited_Text$(22) 00099 REM ///////////////////////////////.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 00100 "Set up a Menu" 00110 MENU 1,0,1,"The Menu" 00111 MENU 1,1,1,"/SCreate a Multi-EDIT FIELD Window" 00112 MENU 1,2,0,"/RRe-Create the above Window" 00114 MENU 1,4,0,"/WClose the Window" 00116 MENU 1,6,0,"/EClose the EDIT FIELDs" 00118 MENU 1,8,1,"/QClose the whole PROGRAM!" 00199 REM ///////////////////////////////.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 00200 "Turn On Event Trapping" 00210 ON BREAK GOSUB "Break Out": REM The 'ON BREAK' routine can be removed 00212 ON MENU GOSUB "Menu Event": REM after the program runs properly. 00214 ON DIALOG GOSUB "Dialog Event" 00220 BREAK ON: REM This can be removed after program runs properly. 00222 MENU ON: DIALOG ON 00229 REM _______________________________________________________________ 00250 "Loop" 00258 GOTO "Loop" 00259 REM ///////////////////////////////.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 00290 "Break Out" 00295 STOP 00299 REM ///////////////////////////////.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 00300 "Menu Event" 00305 Menu_Number = MENU(0): Menu_Item = MENU(1) 00310 MENU 00320 ON Menu_Number GOSUB "Menu 1" 00340 RETURN 00399 REM ///////////////////////////////.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 00400 "Dialog Event" 00410 D = DIALOG(0) 00420 "D Event" 00460 ON D GOSUB "Button Event", "Edit Event", "Inactive Window", "Close Box", "Refresh", "Return Key", "Tab Key", "Zoom IN", "Zoom OUT", "Shift Tab", "Clear Key", "Left Arrow", "Right Arrow", "Up Arrow", "Down Arrow", "Key Press" 00490 RETURN 00499 REM ///////////////////////////////.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 01000 "Menu 1" 01010 ON Menu_Item GOSUB "Open a Multi-EDIT FIELD Window", "Re-Create the Window", "DUMMY Item", "Close the Window", "DUMMY Item", "Close the EDIT FIELDs", "DUMMY Item", "Quit" 01020 RETURN 01099 REM _______________________________________________________________ 01100 "Open a Multi-EDIT FIELD Window" 01101 MENU OFF 01102 DIALOG OFF 01109 "Open a Window with some labels" 01110 WINDOW 1,"Edit Field tests",(10,40)-(470,310),5: TEXT ,,,1 01112 CALL MOVETO (20,10): PRINT "Sample Edit Fields" 01114 CALL MOVETO (10,200): PRINT "Tab/Shift Tab pressed in:" 01116 CALL MOVETO (10,220): PRINT "Return pressed in:" 01118 CALL MOVETO (10,240): PRINT "Arrow Keys pressed in:" 01120 FOR X = 22 TO 12 STEP -1 01122 EDIT FIELD X,"",(220,(X-11)*14)-(380,((X-11)*14)+11),1,1 01124 CALL MOVETO (198,((X-11)*14)+9): PRINT X 01128 NEXT 01130 FOR X = 11 TO 1 STEP -1 01132 EDIT FIELD X,Edited_Text$(X),(20,X*14)-(180,(X*14)+11),1,1 01134 CALL MOVETO (4+((X>9)*6),(X*14)+9): PRINT X 01138 NEXT 01150 BUTTON 1,0,"Show EDIT FIELDS",(200,200)-(350,220),1 01155 TEXT ,,,0 01159 IF Reopening_Only THEN RETURN 01160 Edit_Field = 1: Reopening_Only = 0 01190 MENU ON: DIALOG ON 01192 MENU 1,1,0: MENU 1,2,0: MENU 1,4,1: MENU 1,6,1 01198 RETURN 01199 REM _______________________________________________________________ 01200 "Re-Create the Window" 01201 MENU OFF 01202 DIALOG OFF 01210 Reopening_Only = 1 01220 GOSUB "Open a Window with some labels" 01290 MENU ON: DIALOG ON 01292 MENU 1,2,0: MENU 1,4,1: MENU 1,6,1 01298 RETURN 01299 REM _______________________________________________________________ 01300 "DUMMY Item": REM Program will never get here. 01399 REM _______________________________________________________________ 01400 "Close the Window" 01401 MENU OFF 01402 DIALOG OFF 01410 WINDOW CLOSE 1 01490 MENU ON: DIALOG ON 01492 MENU 1,1,0: MENU 1,2,1: MENU 1,4,0: MENU 1,6,0 01498 RETURN 01499 REM _______________________________________________________________ 01600 "Close the EDIT FIELDs" 01601 MENU OFF 01602 DIALOG OFF 01610 FOR X = 1 TO 22 01620 EDIT FIELD CLOSE X 01630 NEXT 01690 MENU ON: DIALOG ON 01692 BUTTON 1,1 01698 RETURN 01699 REM _______________________________________________________________ 01800 "Quit" 01810 END 01899 REM ///////////////////////////////.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 02000 "DIALOG Events" 02099 REM _______________________________________________________________ 02100 "Button Event" 02110 Button_Clicked = DIALOG(1) 02120 FOR X = 22 TO 12 STEP -1 02122 EDIT FIELD X,Edited_Text$(X),(220,(X-11)*14)-(380,((X-11)*14)+11),1,1 02124 NEXT 02126 FOR X = 11 TO 1 STEP -1 02128 EDIT FIELD X,Edited_Text$(X),(20,X*14)-(180,(X*14)+11),1,1 02130 NEXT 02190 BUTTON 1,0 02198 RETURN 02199 REM _______________________________________________________________ 02200 "Edit Event" 02220 Edit_Field = DIALOG(2) 02230 EDIT FIELD Edit_Field 02298 RETURN 02299 REM _______________________________________________________________ 02300 "Inactive Window" 02310 Window_Selected = DIALOG(3) 02398 RETURN 02399 REM _______________________________________________________________ 02400 "Close Box" 02410 Close_Box = DIALOG(4) 02420 GOSUB "Close the Window" 02498 RETURN 02499 REM _______________________________________________________________ 02500 "Refresh" 02510 Erased_Window = DIALOG(5) 02598 RETURN 02599 REM _______________________________________________________________ 02600 "Return Key" 02610 Return_Pressed = DIALOG(6) 02620 CALL MOVETO (120,220): PRINT Edit_Field 02630 Edited_Text$(Edit_Field) = EDIT$(Edit_Field) 02690 Edit_Field = Edit_Field + 1: IF Edit_Field > 22 THEN Edit_Field = 1 02692 EDIT FIELD Edit_Field 02698 RETURN 02699 REM _______________________________________________________________ 02700 "Tab Key" 02710 Tab_Pressed = DIALOG(7) 02720 CALL MOVETO (160,200): PRINT Edit_Field 02730 Edited_Text$(Edit_Field) = EDIT$(Edit_Field) 02790 Edit_Field = Edit_Field + 1: IF Edit_Field > 22 THEN Edit_Field = 1 02792 EDIT FIELD Edit_Field 02798 RETURN 02799 REM _______________________________________________________________ 02800 "Zoom IN" 02810 Zoom_IN = DIALOG(8) 02898 RETURN 02899 REM _______________________________________________________________ 02900 "Zoom OUT" 02910 Zoom_OUT = DIALOG(9) 02998 RETURN 02999 REM _______________________________________________________________ 03000 "Shift Tab" 03010 Shift_Tab = DIALOG(10) 03020 CALL MOVETO (160,200): PRINT Edit_Field 03030 Edited_Text$(Edit_Field) = EDIT$(Edit_Field) 03090 Edit_Field = Edit_Field - 1: IF Edit_Field < 1 THEN Edit_Field = 22 03092 EDIT FIELD Edit_Field 03098 RETURN 03099 REM _______________________________________________________________ 03100 "Clear Key" 03110 Clear_Key = DIALOG(11) 03198 RETURN 03199 REM _______________________________________________________________ 03200 "Left Arrow" 03210 Left_Arrow = DIALOG(12) 03220 CALL MOVETO (145,240): PRINT Edit_Field 03230 Edited_Text$(Edit_Field) = EDIT$(Edit_Field) 03290 Edit_Field = Edit_Field - 1: IF Edit_Field < 1 THEN Edit_Field = 22 03292 EDIT FIELD Edit_Field 03298 RETURN 03299 REM _______________________________________________________________ 03300 "Right Arrow" 03310 Right_Arrow = DIALOG(13) 03320 CALL MOVETO (145,240): PRINT Edit_Field 03330 Edited_Text$(Edit_Field) = EDIT$(Edit_Field) 03390 Edit_Field = Edit_Field + 1: IF Edit_Field > 22 THEN Edit_Field = 1 03392 EDIT FIELD Edit_Field 03398 RETURN 03399 REM _______________________________________________________________ 03400 "Up Arrow" 03410 Up_Arrow = DIALOG(14) 03420 CALL MOVETO (145,240): PRINT Edit_Field 03430 Edited_Text$(Edit_Field) = EDIT$(Edit_Field) 03490 Edit_Field = Edit_Field - 1: IF Edit_Field < 1 THEN Edit_Field = 22 03492 EDIT FIELD Edit_Field 03498 RETURN 03499 REM _______________________________________________________________ 03500 "Down Arrow" 03510 Down_Arrow = DIALOG(15) 03520 CALL MOVETO (145,240): PRINT Edit_Field 03530 Edited_Text$(Edit_Field) = EDIT$(Edit_Field) 03590 Edit_Field = Edit_Field + 1: IF Edit_Field > 22 THEN Edit_Field = 1 03592 EDIT FIELD Edit_Field 03598 RETURN 03599 REM _______________________________________________________________ 03600 "Key Press" 03610 Key_Pressed = DIALOG(16) 03698 RETURN 03699 REM _______________________________________________________________